<?php

abstract class Quad_UserMessage {
	
	public function set($type, $msg, $heading = '') {
		$_SESSION["UserMessage-$type"] = array('msg' => $msg, 'heading' => $heading);
	}
	
	public function get($type, $unset = true) {
		$info = isset($_SESSION["UserMessage-$type"]) ? $_SESSION["UserMessage-$type"] : '';
		if ($unset) {
		  unset($_SESSION["UserMessage-$type"]);
		}
		return $info;
	}
	
	public function exists($type) {
		return isset($_SESSION["UserMessage-$type"]);
	}
	
	public function getHtml($type, $unset = true) {
		$html = '';
		if (self::exists($type)) {
		  $info = self::get($type);
		  if (is_array($info['msg'])) {
		  	if (count($info['msg']) > 0) {
	        $h2 = $info['heading'] === '' ? '' : "<h2>{$info['heading']}</h2>";
	        $msgLis = '';
	        foreach ($info['msg'] as $msg) {
	        	$msgLis .= '<li>' . esc($msg) . '</li>';
	        }
	        $html = "
	          <div class=\"$type\">
	            $h2
	            <ul>$msgLis</ul>
	          </div>"; 
			  		
		  	}
		  } elseif ($info['msg'] !== '') {
		  	$h2 = $info['heading'] === '' ? '' : '<h2>' . esc($info['heading']) . '</h2>';
		  	$msg = esc($info['msg']);
	      $html = "
					<div class=\"$type\">
				    $h2
				    <p>$msg</p>
				  </div>"; 
		  }
		}
		return $html;
	}
}